home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- IEN 61
- Section 2.5.6.1
-
-
- Internet Name Server
-
-
-
-
-
- Jon Postel
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 27 October 1978
-
-
-
-
-
- Information Sciences Institute
- University of Southern California
- 4676 Admiralty Way
- Marina del Rey, California 90291
-
- (213) 822-1511
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- INTERNET NAME SERVER
- --------------------
-
- NAME SYNTAX
-
- It is strongly recommended that the use of host names in programs be
- consistent for both input and output across all hosts. To promote such
- consistency of the internet level, the following syntax is specified:
-
- The SYNTAX of names as presented to the user and as entered by the user
- is:
-
- ! NET ! REST
-
- where:
-
- NET is a network name or number as defined in [1]
-
- and
-
- REST is a host name within that network expressed as a character
- string or as a number. When a number is used, it is expressed in
- decimals and is prefixed with a sharpsign (e.g., #1234).
-
- Note that this syntax has minimal impact on the allowable character
- strings for host names within a network. The only restriction is that
- a REST string cannot begin with an exclaimation point (!).
-
- The !NET! may be omitted when specifying a host in the local network.
- That is "!" indicates the network portion of a name string.
-
- NAME SERVER
-
- To aid in the translation of names to internet addresses, several name
- server processes will be provided. The name server process will accept
- a name in the above form and will return a name, address pair.
-
- The name server processes will have well-known addresses; addresses that
- are constant over long periods of time and published in documents such
- as [1].
-
- A request sent to a name server is sent as an internet datagram [2] with
- the following content:
-
- +--------+--------+--------+--------+--------+--------+---\\---+
- ! ! ! !
- ! NAME ! LENGTH ! NAME STRING !
- ! ! ! !
- +--------+--------+--------+--------+--------+--------+---\\---+
-
-
-
-
-
- Postel [page 1]
-
-
- 27 Oct 78
- Internet Name Server IEN 61
-
-
-
- where:
-
- NAME is a one octet code indicating that the following is a name,
-
- LENGTH is a one octet count of the number of octets in the name
- string, and
-
- NAME STRING is an ASCII character string of the form ! NET ! REST.
-
- A reply to a successful translation is sent as an internet datagram with
- the following content:
-
- +--------+--------+--------+--------+--------+--------+---\\---+
- ! ! ! !
- ! NAME ! LENGTH ! NAME STRING !
- ! ! ! !
- +--------+--------+--------+--------+--------+--------+---\\---+
- ! ! ! !
- ! ADDRESS! LENGTH ! INTERNET ADDRESS !
- ! ! ! !
- +--------+--------+--------+--------+--------+--------+
-
- where:
-
- ADDRESS is a one octet code indicating that the following is an
- internet address,
-
- LENGTH is a one octet count (=4) of the length of the internet
- address, and
-
- INTERNET ADDRESS is the internet address.
-
- Actually a particular name might map to several internet addresses, in
- this case the response would include a list of internet addresses.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 2] Postel
-
-
- 27 Oct 78
- IEN 61 Internet Name Server
-
-
-
- When a name is not found, an error is reported via an internet datagram
- as follows:
-
- +--------+--------+--------+--------+--------+--------+---\\---+
- ! ! ! !
- ! NAME ! LENGTH ! NAME STRING !
- ! ! ! !
- +--------+--------+--------+--------+--------+--------+---\\---+
- ! ! ! ERROR ! !
- ! ERROR ! LENGTH ! CODE ! ERROR STRING !
- ! ! ! ! !
- +--------+--------+--------+--------+--------+--------+---\\---+
-
- where:
-
- ERROR CODE specifies the error.
-
- ERROR STRING explains the error.
-
- Error Codes
-
- The following error codes are defined:
-
- CODE MEANING
- ---- -------
- 0 Undetermined or undefined error
- 1 Name not found
- 2 Improper name syntax
- 3 Name not found, but the following similar names exist
-
- Note Error 3 is followed by a list of name strings.
-
- Communication with a Name Server Process
-
- Communication with a name server process is via internet datagrams.
- Internet datagrams do not guarantee reliable communication. Thus,
- some requests or replies may be lost.
-
- The name server process is a transaction oriented process;
- furthermore, the nature of the transactions allows them to be
- processed in any order and even to be duplicated. This allows the use
- of a very simple communication protocol.
-
- If a request is made to the name server process and no response is
- received within a reasonable time, then the requestor should make the
-
-
-
-
- Postel [page 3]
-
-
- 27 Oct 78
- Internet Name Server IEN 61
-
-
-
- request again. This recovers from communication errors which cause
- the loss of either the request or the reply.
-
- In order to use this simple strategy, care must be taken to allow
- replies to be properly matched with requests. The name server process
- does this by including in each reply a copy of the entire request.
-
- The internet datagram does not even guarantee the correctness of the
- data. The name server protocol must provide measures to prevent
- incorrect data from being used. For example, an interent address
- field could be affected by transmission errors.
-
- For this reason, the name server protocol includes a checksum over the
- information of the requests and replies. The checksum algorithm is
- the same as is used in the internet protocol (which covers only the
- internet header).
-
- Format
-
- The requests and replies to and from a name server process are encoded
- as "items". An item consists of an item-code an item-length and the
- item-data.
-
- Item := Item-Code Item-Length Item-Data
-
- +--------+--------+--------+--------+--------+--------+---\\---+
- ! ! ! !
- ! Item ! Item ! Item !
- ! Code ! Length ! Data !
- ! ! ! !
- +--------+--------+--------+--------+--------+--------+---\\---+
-
- A request is typically one item, and a reply is typically two items.
- In any case the items communicated at one time are grouped into a
- "block". A block consists of an octet of zero, an octet identifying
- this as an name server block, a two octet block length, a two octet
- checksum field, and some items.
-
- Block := BHead Items
- BHead := Zero NS-id Block-Length Checksum
- Items := Item ! Items Item
-
-
-
-
-
-
-
-
- [page 4] Postel
-
-
- 27 Oct 78
- IEN 61 Internet Name Server
-
-
-
- +--------+--------+-----------------+
- ! ! Name ! Block !
- ! Zero ! Server ! Length !
- +-----------------+--------+--------+
- ! Checksum !ItemCode!Item Len!
- +--------+--------+--------+--------+
- ! ........... Item Data ........... !
- +--------+--------+--------+--------+
- ! ......... Item Data cont ........ !
- +--------+--------+--------+--------+
- ! Item Data cont. !ItemCode!Item Len!
- +--------+--------+--------+--------+
- ! ........... Item Data ........... !
- +--------+--------+--------+--------+
-
- This format is chosen to be compatible with the proposed multiplexing
- format for internet protocol. Also the name server is one application
- using raw internet datagrams as the transmission media, so the
- internet header protocol field should carry the value indicating raw
- datagram. An additional field is needed somewhere to multiplex the
- various applications using raw datagrams.
-
- Item Code Value Assignments:
-
- NAME = 1
-
- ADDRESS = 2
-
- ERROR = 3
-
- Example
-
- a typical request:
-
- +--------+--------+-----------------+
- ! ! NAME ! !
- ! 0 ! SERVER ! 14 !
- +-----------------+--------+--------+
- ! CHECKSUM ! 1 ! 10 !
- +--------+--------+--------+--------+
- ! ! ! A ! R ! P !
- +--------+--------+--------+--------+
- ! A ! ! ! I ! S !
- +--------+--------+--------+--------+
- ! I ! B !
- +--------+--------+
-
-
-
- Postel [page 5]
-
-
- 27 Oct 78
- Internet Name Server IEN 61
-
-
-
- and the reply:
-
- +--------+--------+-----------------+
- ! ! NAME ! !
- ! 0 ! SERVER ! 20 !
- +-----------------+--------+--------+
- ! CHECKSUM ! 1 ! 10 !
- +--------+--------+--------+--------+
- ! ! ! A ! R ! P !
- +--------+--------+--------+--------+
- ! A ! ! ! I ! S !
- +--------+--------+--------+--------+
- ! I ! B ! 2 ! 4 !
- +--------+--------+--------+--------+
- ! 10 ! 3 ! 0 ! 52 !
- +--------+--------+--------+--------+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- [page 6] Postel
-
-
- 27 Oct 78
- IEN 61 Internet Name Server
- References
-
-
-
- References
-
- [1] J. Postel. "Assigned Numbers," RFC 750, NIC 45500, 26 September
- 1978.
-
- [2] J. Postel. "Internetwork Protocol Specification -- Version 4,"
- IEN 54, USC-Information Sciences Institute, September 1978.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Postel [page 7]
-